#ifndef _DBL_LINK_LIST_
#define _DBL_LINK_LIST_

#include "types.h"

/*
 * Doubly link list with sentinel node at the head.
 * Initially: sentinel->next = sentinel->prev = sentinel
 * In a  non-empty list:
 *      sentinel->prev = tail;
 *      sentinerl->next = head;
 *      head->prev = sentinel
 *      tail->next = sentinel
*/
typedef struct dbl_list_t 
{
    void *node_data;
    struct dbl_list_node_t *next;
    struct dbl_list_node_t *prev;
}dbl_list_t;


#endif
